跳到主要内容

发起签署接口FAQ

如何配置业务线?

业务线是发起签署的前提条件,配置步骤如下:

  1. 登录开放签账号,切换到对应企业身份
  2. 进入【企业管理后台】应用
  3. 在业务线管理页面新增或配置业务线:
    • 签署方配置:选择"经办人发起时自行设置"(流程不固定)或"按照预设流程发起"(流程固定)
    • 签约文件:上传本地文件或选择公共模板
    • 位置设置:在文件上指定签署位置
    • 模板参数:配置参数填写方
  4. 启用业务线(创建后需手动启用)

发起签署需要哪些必要参数?

参数是否必填说明
appAuthToken应用授权凭证
uniqueCode唯一流水号(随机生成)
operator发起方企业经办人信息
signReId业务线ID(需已启用)
send必须设为"1"(仅支持直接发起)

签署方列表如何配置?

根据签署类型配置不同结构:

{
"signerType": "SENDER",
"signerOrder": "1",
"internalNodeList": [
{
"nodeType": "ENTERPRISE_SEAL",
"signerOrder": "1",
"autoSign": "AUTO_SIGN",
"sealId": "印章ID"
},
{
"nodeType": "PERSONAL_SIGN",
"signerOrder": "2",
"signer": {
"contact": "手机号",
"contactType": "MOBILE",
"name": "姓名"
}
}
]
}

签署位置如何设置?

使用positionParamList配置签署位置:

{
"controlType": "SIGNATURE", // 控件类型
"signPositionType": "KEYWORD", // 定位方式
"keyword": "乙方签字", // 关键字
"keywordType": "1", // 关键字索引
"offsetX": "20", // X偏移量
"offsetY": "0", // Y偏移量
"relationDocList": [
{
"docType": "1",
"docId": "文件ID"
}
]
}

自动签署的条件是什么?

需同时满足:

  1. 节点类型为ENTERPRISE_SEAL(企业签章)
  2. 签署方类型为SENDER(发起方)
  3. 设置autoSign: "AUTO_SIGN"
  4. 提供有效的sealId(印章ID)

模板参数如何填写?

当使用公共模板时需传递参数:

"signTemplateParamList": [
{
"paramKey": "company_name",
"paramValue": "ABC科技有限公司"
},
{
"paramKey": "contract_date",
"paramValue": "2023-06-15"
}
]

特殊类型参数格式:

  • 日期"YYYY-MM-DD"
  • 单选:选项UID(如"747a8a"
  • 多选:多个UID逗号分隔(如"747a8a,217a23"
  • 图片:Base64字符串(不加前缀)

业务线预设流程与接口传参的关系?

三种配置场景:

  1. 预设流程+完全匹配:接口传参与业务线配置完全一致
  2. 预设流程+发起方不变:可省略发起方信息
  3. 无预设流程:完全以接口传参为准

签署顺序如何控制?

通过以下参数控制签署顺序:

  • signOrderType:全局顺序类型(ORDER有序/NO_ORDER无序)
  • signerOrder:签署方顺序(从1开始)
  • internalNodeList.signerOrder:企业内部节点顺序

签署位置设置有几种模式?分别适用什么场景?

使用 controlChangeFlag 字段控制签署位置设置模式,支持三种模式:

类型模式说明适用场景
NECESSARY_AND_ADD必须签署,可新增发起人指定位置不可修改,但签署人可新增多方协同签署,允许双方在合适位置签字,如B2B 合作协议签署
NECESSARY_NO_ADD必须签署,不可新增发起人指定位置不可修改,也不允许新增严格合规控制,确保只能在固定位置签字,如B2C 劳动合同签署
NOT_NECESSARY非必须签署发起人指定位置可由签署人修改或删除自由签署流程,灵活盖章或签字,如内部审批会签

指定的签署位置,不希望签署方变动和新增,怎么处理?

两种方式:

  • 方式一: 在接口中 controlChangeFlag 传递 NECESSARY_NO_ADD 使用 “必须签署,不可新增” 的签署位置设置模式。

  • 方式二:在业务线中设置 “必须签署,不可新增” 的签署位置设置模式,接口中不传递该参数。


签约文件如何追加?

通过signDocumentList添加文件:

"signDocumentList": [
{
"docId": "上传文件接口返回的ID"
}
]

注意:需先调用[上传签约文件接口]获取文件ID


关键参数详解

operator(经办人信息)

字段类型必填说明
contactstring手机号/邮箱
contactTypestringMOBILE(手机)/EMAIL(邮箱)
namestring经办人姓名

签署控件类型(controlType)

类型说明
SIGNATURE个人签章
SEAL企业签章
SIGN_DATE签署日期
CHOP_STAMP骑缝签

关键字定位(keywordType)

说明
1第1个关键字
0所有关键字
-1倒数第1个关键字

页码配置(pageConfig)

说明
ALL全部页
EVEN_NUMBER偶数页
ODD_NUMBER奇数页
1,3,5-8指定页码

示例

完整请求示例

{
"appAuthToken": "APP_TOKEN_123456",
"uniqueCode": "UNIQUE_20230615123456",
"operator": {
"contact": "13800138000",
"contactType": "MOBILE",
"name": "张三"
},
"signReId": "BIZ_LINE_001",
"sn": "CONTRACT_20230615001",
"subject": "技术服务协议",
"expireDate": "2023-06-30",
"signDocumentList": [
{"docId": "DOC_001"}
],
"signOrderType": "ORDER",
"signerList": [
{
"signerType": "SENDER",
"signerOrder": "1",
"internalNodeList": [
{
"nodeType": "ENTERPRISE_SEAL",
"signerOrder": "1",
"autoSign": "AUTO_SIGN",
"sealId": "SEAL_001",
"positionParamList": [
{
"controlType": "SEAL",
"signPositionType": "KEYWORD",
"keyword": "甲方盖章",
"keywordType": "1"
}
]
}
]
},
{
"signerType": "RECEIVER_PERSONAL",
"signerOrder": "2",
"receiver": {
"contact": "13900139000",
"contactType": "MOBILE",
"name": "李四"
},
"positionParamList": [
{
"controlType": "SIGNATURE",
"signPositionType": "KEYWORD",
"keyword": "乙方签字",
"keywordType": "1"
}
]
}
],
"send": "1"
}

成功响应

{
"code": 10000,
"message": "成功",
"result": {
"contractId": "CTR_20230615001"
},
"timestamp": 1686812400000
}
服务热线
15010993257